﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ClassTestWork2
{
    //Реализовать класс TextInput.
    //В классе должно быть 2 метода.
    //WriteToFile - позволяет сохранить строку введенную пользователем из 
    //консоли в файл.
    //WordCalculator - считывает текст из файла и выводит на экран количество
    //слов в файле.
    //Путь к файлу хранится в закрытом поле класса.

    class TextInput
    {
        private readonly string filePath;

        public TextInput(string path)
        {
            if(path == null)
                throw new NullReferenceException("Invalid Path");
            filePath = path;

            if (!File.Exists(filePath))
                File.Create(filePath).Dispose();
        }

        public void WriteToFile(string text)
        {
            File.AppendAllText(filePath, text);
        }

        public void WordCalculator()
        {
            string textFromFile = File.ReadAllText(filePath);
            string[] words = textFromFile.Split(' ');
            int wordsCount = words.Length;
            Console.WriteLine(wordsCount);
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            TextInput ti = new TextInput(@"C:\My Files\IntEducation\1.txt");
            string inputText = Console.ReadLine();
            ti.WriteToFile(inputText);
            ti.WordCalculator();

        }
    }
}
